<?php

namespace App\Logic;

use Yansongda\Pay\Pay;

//implements PayAbstract

class Alipay
{
    /**
     * @function 支付宝
     */

    public $config = [
        'alipay' => [
            'default' => [
                // 必填-支付宝分配的 app_id
                'app_id' => '2021000119691115',
                // 必填-应用私钥 字符串或路径
                // 在 https://open.alipay.com/develop/manage 《应用详情->开发设置->接口加签方式》中设置
                'app_secret_cert' => 'MIIEowIBAAKCAQEAqdGojNX2QiYU/k9N/t13gFx8Kpltrrc5Eb2Op8UICWLL2XxqEsU8xWK+4VrDFNkjhw9+KOIVb9w8+CROeD95QcUfHTbtKA2eS/iqLqNntjP4JfI3KHwc+tEIQzaurcFzEvEEKlLNjncZCJU8watlLQTX7Q2IT0UuftdcEhrypmSnwpHt3C5lwbeSDLB9WXCFW2jIKAdJBTe1F+ur67Y3yF5lNuM0c1UZEyimlxySVkZtzbsMdjE4/wOzVolinm/hIESWA6mM4supq0RmVbZ7h2zSQGBhBZi74u7fSDjBAr+86HV8MBuqZHK0RL/L//YhihvIGJ1xSx1xgJ9PTgzmYQIDAQABAoIBAHpjyWdfWXFJQv4aJ+tUsCjJ/w8wrvUpxi68AFF31pf1JVfkrApFLsxPo6SFJm4jJNDVYKaUcsDA6QwqFofhr0GwkQEcMgYY8opseDLOwBN4FxM6I3jBIp2+A4d1pKVD8+yl2curC8zulxMxg61NGsk8YWbOxvvir2TpT8kYtOMoIYsuHPb7uymGncoie/i/fTEmzWhEyickd67h/yPps5hHGOWvW6LtS9am0EZeiZm5XKxRXzoboTQQSm/ZbbZ5iAAhtqiivBBBNESPgXTUsnyCB2m2Wlk2NpX+l0U7H/gD0tEFr5zgwkfmlEo0jCvXD28KtH/1OXiFYUzPUidd9pUCgYEA1HmPRf+JHKUwZxXAYc7qVSweKV3qDCsueMDgU68lcE7tJwXfkMn6hLN4B26H5qADKNO1natUr6oA1ddirUN/f9V1AYJcNANwVcHoF+kDcWTumh9Mnj1SHTnpEtFCvbZXJi6IoC8wk5T7m1W0PIfvU+DW75R+nhDPvzn477pw7KMCgYEAzJssUAU59ChtDCSLk/XG4CJZRHBQyjWilqJiGf0zrv4dAVqUDqkShdOzQDM/ijiCcS2QiboXy9/UVRN39Ke8+u17JkAzfB5QNWoy/XRNfsw+JSkroUSNUYy1Ote8vqYVI42rMB40pc0Uyhzdv8InYZIgAkiym7fV5R/0Hf3ZrSsCgYAExA1AprCuoc3qIgTErN14t5qdluuvBjDuqHTfq6gNUtfi7jDLkJw76cKheAs4UxJ/EfCa7sLhhdCq+z/NXxw3A9SyCfiDeihE5CqOjr1zB66KanVPf1SeLzRZJbR3iOV/h7+syCIwzUCvhUabrPjjSsHHce89IGdohKZeyjHKPQKBgHStpMZ5RIRMrWr4SDR3OxND4z4ZAqldjrtyHJmPf/Kx7N6Bxd7aYbq5cAYTc4+iDBj4j+1KlxlnKhHeCVEWerlpxgmZIQMN0lWzmyJYOX0ugd31LXFIw4IWyJ6munbKBVICDvZgs0s9uTZM4dPhp02H5AMJa/lLC4oe/7o+seyDAoGBAIN/QiZEQQoIi1cckOqvkB6lJXbRKompIFHeb9uCgTLJGrwyHU+9UVG4Q6UvTOW2lqiJnILmTerXc32mKMR9+CAfi+71/NajDx+REY+Y7aGUBFuPsY22/psVsAn9VNGy3iTqAu3Z3oMwyeOHWf0hLvWbbayvJlYyQ2q/pcn3xmsg',
//                    D:\SourceTreeBarrique\2008a-hongyezhaofang\public\payConfig\private.php
                // 必填-应用公钥证书 路径
                // 设置应用私钥后，即可下载得到以下3个证书
                'app_public_cert_path' => 'payConfig\公钥证书appPublicCert.crt',
//                    D:\SourceTreeBarrique\2008a-hongyezhaofang\public\payConfig\公钥证书appPublicCert.crt
                // 必填-支付宝公钥证书 路径
                'alipay_public_cert_path' => 'payConfig\支付宝公钥alipayPublicCert (1).crt',
//                    D:\SourceTreeBarrique\2008a-hongyezhaofang\public\payConfig\支付宝公钥alipayPublicCert (1).crt
                // 必填-支付宝根证书 路径
                'alipay_root_cert_path' => 'payConfig\支付宝根证书alipayRootCert (1).crt',
//                    D:\SourceTreeBarrique\2008a-hongyezhaofang\public\payConfig\支付宝根证书alipayRootCert (1).crt
                'return_url' => 'http://body.com:708/index.php/api/',  //结束
                'notify_url' => 'https://yansongda.cn/alipay/notify',  //响应
                // 选填-第三方应用授权token
                'app_auth_token' => '',
                // 选填-服务商模式下的服务商 id，当 mode 为 Pay::MODE_SERVICE 时使用该参数
                'service_provider_id' => '',
                // 选填-默认为正常模式。可选为： MODE_NORMAL, MODE_SANDBOX, MODE_SERVICE
                'mode' => Pay::MODE_SANDBOX,
            ]
        ],
        'wechat' => [
            'default' => [
                // 必填-商户号，服务商模式下为服务商商户号
                // 可在 https://pay.weixin.qq.com/ 账户中心->商户信息 查看
                'mch_id' => '',
                // 必填-商户秘钥
                // 即 API v3 密钥(32字节，形如md5值)，可在 账户中心->API安全 中设置
                'mch_secret_key' => '',
                // 必填-商户私钥 字符串或路径
                // 即 API证书 PRIVATE KEY，可在 账户中心->API安全->申请API证书 里获得
                // 文件名形如：apiclient_key.pem
                'mch_secret_cert' => '',
                // 必填-商户公钥证书路径
                // 即 API证书 CERTIFICATE，可在 账户中心->API安全->申请API证书 里获得
                // 文件名形如：apiclient_cert.pem
                'mch_public_cert_path' => '',
                // 必填-微信回调url
                // 不能有参数，如?号，空格等，否则会无法正确回调
                'notify_url' => 'https://yansongda.cn/wechat/notify',
                // 选填-公众号 的 app_id
                // 可在 mp.weixin.qq.com 设置与开发->基本配置->开发者ID(AppID) 查看
                'mp_app_id' => '2016082000291234',
                // 选填-小程序 的 app_id
                'mini_app_id' => '',
                // 选填-app 的 app_id
                'app_id' => '',
                // 选填-合单 app_id
                'combine_app_id' => '',
                // 选填-合单商户号
                'combine_mch_id' => '',
                // 选填-服务商模式下，子公众号 的 app_id
                'sub_mp_app_id' => '',
                // 选填-服务商模式下，子 app 的 app_id
                'sub_app_id' => '',
                // 选填-服务商模式下，子小程序 的 app_id
                'sub_mini_app_id' => '',
                // 选填-服务商模式下，子商户id
                'sub_mch_id' => '',
                // 选填-微信平台公钥证书路径, optional，强烈建议 php-fpm 模式下配置此参数
                'wechat_public_cert_path' => [
                    '45F59D4DABF31918AFCEC556D5D2C6E376675D57' => __DIR__ . '/Cert/wechatPublicKey.crt',
                ],
                // 选填-默认为正常模式。可选为： MODE_NORMAL, MODE_SERVICE
                'mode' => Pay::MODE_NORMAL,
            ]
        ],
        'unipay' => [
            'default' => [
                // 必填-商户号
                'mch_id' => '777290058167151',
                // 必填-商户公私钥
                'mch_cert_path' => __DIR__ . '/Cert/unipayAppCert.pfx',
                // 必填-商户公私钥密码
                'mch_cert_password' => '000000',
                // 必填-银联公钥证书路径
                'unipay_public_cert_path' => __DIR__ . '/Cert/unipayCertPublicKey.cer',
                // 必填
                'return_url' => 'https://yansongda.cn/unipay/return',
                // 必填
                'notify_url' => 'https://yansongda.cn/unipay/notify',
            ],
        ],
        'logger' => [
            'enable' => false,
            'file' => './logs/pay.log',
            'level' => 'info', // 建议生产环境等级调整为 info，开发环境为 debug
            'type' => 'single', // optional, 可选 daily.
            'max_file' => 30, // optional, 当 type 为 daily 时有效，默认 30 天
        ],
        'http' => [ // optional
            'timeout' => 5.0,
            'connect_timeout' => 5.0,
            // 更多配置项请参考 [Guzzle](https://guzzle-cn.readthedocs.io/zh_CN/latest/request-options.html)
        ],
    ];


    /**
     * 支付方法
     * @return \Psr\Http\Message\ResponseInterface
     * @throws \Yansongda\Pay\Exception\ContainerException
     */
    public function payPle()
    {
        Pay::config($this->config);
        // 注意返回类型为 Response，具体见详细文档
        return Pay::alipay()->web([
            'out_trade_no' => '' . time(),
            'total_amount' => '0.01',
            'subject' => 'yansongda 测试 - 1',
        ]);
    }


}
